package com.sojson.project.entity.po;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.sojson.base.impl.BaseOrder;
import com.sojson.enums.core.EOrderStatus;
import com.sojson.enums.core.EPayStatus;
import com.sojson.enums.core.ERefundsStatus;
import com.sojson.util.DateUtil;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiModelProperty.AccessMode;

/**
 * 订单表Bean
 * 
 * @author liu
 * @date 2021-03-16
 */
@ApiModel("订单表Bean")
public class Order extends BaseOrder {

    /**
     * 此文件由工具自动生成，手动添加内容请放至末尾
     */

    private static final long serialVersionUID = 1615864295532L;

    @ApiModelProperty("购物车订单编号")
    private String noShop;
    @ApiModelProperty("商家编号")
    private String merchantNo;
    @ApiModelProperty("商家昵称")
    private String merchantNickName;
    @ApiModelProperty("支付单号(微信生成的支付订单)")
    private String paySn;
    @ApiModelProperty("微信支付单号")
    private String payNoWx;
    @ApiModelProperty("支付宝支付单号")
    private String payNoZfb;
    @ApiModelProperty("退款单号")
    private String refundSn;
    @ApiModelProperty("显示价格")
    private BigDecimal showTotal;
    @ApiModelProperty("原价")
    private BigDecimal originalPrice;
    @ApiModelProperty("优惠金额")
    private BigDecimal couponTotal;
    @ApiModelProperty("优惠金额(逗号分隔)")
    private String couponTotalSplit;
    @ApiModelProperty("购物车订单金额")
    private BigDecimal shopTotal;
    @ApiModelProperty("订单金额")
    private BigDecimal orderTotal;
    @ApiModelProperty("退款金额")
    private BigDecimal refundTotal;
    @ApiModelProperty("分成金额")
    private BigDecimal percentageTotal;
    @ApiModelProperty("所属会员编号")
    private String userNo;
    @ApiModelProperty("使用优惠券编号列表(逗号拼接)")
    private String couponNos;
    @ApiModelProperty("收货人")
    private String consignee;
    @ApiModelProperty("商品ID")
    private String goodId;
    @ApiModelProperty("商品规格ID")
    private String goodSpecsId;
    @ApiModelProperty("配送类型(1:自提,2:送货上门)")
    private Integer typeDelivery;
    @ApiModelProperty("收货电话")
    private String mobile;
    @ApiModelProperty("省")
    private String province;
    @ApiModelProperty("市")
    private String city;
    @ApiModelProperty("区")
    private String area;
    @ApiModelProperty("详细地址")
    private String address;
    @ApiModelProperty("租赁时快递名称")
    private String expressRentName;
    @ApiModelProperty("租赁时快递ID")
    private Integer expressRentId;
    @ApiModelProperty("租赁时快递公司编码")
    private String expressRentShipperCode;
    @ApiModelProperty("租赁时快递单号")
    private String expressRentCode;
    @ApiModelProperty("归还时快递名称")
    private String expressBackName;
    @ApiModelProperty("归还时快递ID")
    private Integer expressBackId;
    @ApiModelProperty("归还时快递公司编码")
    private String expressBackShipperCode;
    @ApiModelProperty("归还时快递单号")
    private String expressBackCode;
    @ApiModelProperty("订单类型 1购买 2新签 3续租 4过期")
    private Integer orderType;
    @ApiModelProperty("订单类型 1购买 2租赁")
    private Integer orderTypeBuy;
    @ApiModelProperty("是否购物车支付(1:是,2:否)")
    private Integer isShop;
    @ApiModelProperty("支付方式 1微信支付 2支付宝支付")
    private Integer payType;
    @ApiModelProperty("订单状态 1待付款 2已付款待签合同 3待发货 4待收货 5待归还 6归还中 7待评价 8已完成 9退款中 10已关闭(已发货) 11申请取消订单")
    private Integer status;
    @ApiModelProperty("订单关闭类型(1:取消订单(未发货),2:退货退款(用户发起,退优惠券),3:仅退款(商家发起,不退优惠券))")
    private Integer closeType;
    @ApiModelProperty("是否已付款(1:已付款,2:未付款)")
    private Integer isPay;
    @ApiModelProperty("是否已退款(1:已退款,2:未退款,3:退款中)")
    private Integer isRefunds;
    @ApiModelProperty("支付信息")
    private String payMsg;
    @ApiModelProperty("退款信息")
    private String refundsMsg;
    @ApiModelProperty("订单保证金")
    private BigDecimal orderDeposit;
    @ApiModelProperty("逾期扣除")
    private BigDecimal overdueDeduct;
    @ApiModelProperty("逾期管理备注")
    private String overdueMark;
    @ApiModelProperty("订单备注")
    private String mark;
    @ApiModelProperty("电子合同链接")
    private String contractUrl;
    @ApiModelProperty("电子合同的flowid")
    private String contractFlowId;
    @ApiModelProperty("最早逾期时间")
    private Date overdueDate;
    @ApiModelProperty("租赁天数")
    private Integer rentDays;
    @ApiModelProperty("租赁开始时间")
    private Date startTime;
    @ApiModelProperty("租赁结束时间")
    private Date endTime;
    @ApiModelProperty("付款时间")
    private Date payTime;
    @ApiModelProperty("发货时间")
    private Date sendTime;
    @ApiModelProperty("成交时间")
    private Date successTime;
    @ApiModelProperty("创建时间")
    private Date createdAt;
    @ApiModelProperty("更新时间")
    private Date updatedAt;
    @ApiModelProperty("订单结束时间")
    private Date orderEndTime;
    @ApiModelProperty(value = "租赁时顺丰快递传(寄件人/收件人手机号后四位),京东快递传商家编码(由发货方提供,且快递单号必须是通过该商家编码下单获取的)(为其他快递时,可不填或保留字段,不可传值)",
        accessMode = AccessMode.READ_WRITE)
    private String expressRentCustomerName;
    @ApiModelProperty(value = "归还时顺丰快递传(寄件人/收件人手机号后四位),京东快递传商家编码(由发货方提供,且快递单号必须是通过该商家编码下单获取的)(为其他快递时,可不填或保留字段,不可传值)",
        accessMode = AccessMode.READ_WRITE)
    private String expressBackCustomerName;
    @ApiModelProperty(value = "订单商品信息", accessMode = AccessMode.READ_ONLY)
    private OrderGoods orderGoods;
    @ApiModelProperty(value = "订单商品信息列表", accessMode = AccessMode.READ_ONLY)
    private List<OrderGoods> orderGoodss;
    @ApiModelProperty("订单编号集合")
    private List<String> nos;
    /** 订单表集合 */
    private List<String> ids;
    /** 订单表集合 */
    private List<Order> orders;

    /**
     * 以上由工具自动生成，以下为手动添加
     */

       /**
        * Empty constructor
        */
    public Order() {

    }

    /**
     * 此文件由工具自动生成，手动添加内容请放至末尾
     */

    /**
     * 获取 购物车订单编号
     */
    public String getNoShop() {
        return noShop;
    }

    /**
     * 设置 购物车订单编号
     */
    public void setNoShop(String noShop) {
        this.noShop = noShop;
    }

    /**
     * 获取 商家编号
     */
    public String getMerchantNo() {
        return merchantNo;
    }

    /**
     * 设置 商家编号
     */
    public void setMerchantNo(String merchantNo) {
        this.merchantNo = merchantNo;
    }

    /**
     * 获取 商家昵称
     */
    public String getMerchantNickName() {
        return merchantNickName;
    }

    /**
     * 设置 商家昵称
     */
    public void setMerchantNickName(String merchantNickName) {
        this.merchantNickName = merchantNickName;
    }

    /**
     * 获取 支付单号(微信生成的支付订单)
     */
    public String getPaySn() {
        return paySn;
    }

    /**
     * 设置 支付单号(微信生成的支付订单)
     */
    public void setPaySn(String paySn) {
        this.paySn = paySn;
    }

    /**
     * 获取 微信支付单号
     */
    public String getPayNoWx() {
        return payNoWx;
    }

    /**
     * 设置 微信支付单号
     */
    public void setPayNoWx(String payNoWx) {
        this.payNoWx = payNoWx;
    }

    /**
     * 获取 支付宝支付单号
     */
    public String getPayNoZfb() {
        return payNoZfb;
    }

    /**
     * 设置 支付宝支付单号
     */
    public void setPayNoZfb(String payNoZfb) {
        this.payNoZfb = payNoZfb;
    }

    /**
     * 获取 退款单号
     */
    public String getRefundSn() {
        return refundSn;
    }

    /**
     * 设置 退款单号
     */
    public void setRefundSn(String refundSn) {
        this.refundSn = refundSn;
    }

    /**
     * 获取 显示价格
     */
    public BigDecimal getShowTotal() {
        return showTotal;
    }

    /**
     * 设置 显示价格
     */
    public void setShowTotal(BigDecimal showTotal) {
        this.showTotal = showTotal;
    }

    /**
     * 获取 原价
     */
    public BigDecimal getOriginalPrice() {
        return originalPrice;
    }

    /**
     * 设置 原价
     */
    public void setOriginalPrice(BigDecimal originalPrice) {
        this.originalPrice = originalPrice;
    }

    /**
     * 获取 优惠金额
     */
    public BigDecimal getCouponTotal() {
        return couponTotal;
    }

    /**
     * 设置 优惠金额
     */
    public void setCouponTotal(BigDecimal couponTotal) {
        this.couponTotal = couponTotal;
    }

    /**
     * 获取 优惠金额(逗号分隔)
     */
    public String getCouponTotalSplit() {
        return couponTotalSplit;
    }

    /**
     * 设置 优惠金额(逗号分隔)
     */
    public void setCouponTotalSplit(String couponTotalSplit) {
        this.couponTotalSplit = couponTotalSplit;
    }

    /**
     * 获取购物车订单金额
     */
    public BigDecimal getShopTotal() {
        return shopTotal;
    }

    /**
     * 设置购物车订单金额
     */
    public void setShopTotal(BigDecimal shopTotal) {
        this.shopTotal = shopTotal;
    }

    /**
     * 获取 订单金额
     */
    public BigDecimal getOrderTotal() {
        return orderTotal;
    }

    /**
     * 设置 订单金额
     */
    public void setOrderTotal(BigDecimal orderTotal) {
        this.orderTotal = orderTotal;
    }

    /**
     * 获取 退款金额
     */
    public BigDecimal getRefundTotal() {
        return refundTotal;
    }

    /**
     * 设置 退款金额
     */
    public void setRefundTotal(BigDecimal refundTotal) {
        this.refundTotal = refundTotal;
    }

    /**
     * 获取 分成金额
     */
    public BigDecimal getPercentageTotal() {
        return percentageTotal;
    }

    /**
     * 设置 分成金额
     */
    public void setPercentageTotal(BigDecimal percentageTotal) {
        this.percentageTotal = percentageTotal;
    }

    /**
     * 获取 所属会员编号
     */
    public String getUserNo() {
        return userNo;
    }

    /**
     * 设置 所属会员编号
     */
    public void setUserNo(String userNo) {
        this.userNo = userNo;
    }

    /**
     * 获取 使用优惠券编号列表(逗号拼接)
     */
    public String getCouponNos() {
        return couponNos;
    }

    /**
     * 设置 使用优惠券编号列表(逗号拼接)
     */
    public void setCouponNos(String couponNos) {
        this.couponNos = couponNos;
    }

    /**
     * 获取 收货人
     */
    public String getConsignee() {
        return consignee;
    }

    /**
     * 设置 收货人
     */
    public void setConsignee(String consignee) {
        this.consignee = consignee;
    }

    /**
     * 获取 商品id
     */
    public String getGoodId() {
        return goodId;
    }

    /**
     * 设置 商品id
     */
    public void setGoodId(String goodId) {
        this.goodId = goodId;
    }

    /**
     * 获取 商品规格id
     */
    public String getGoodSpecsId() {
        return goodSpecsId;
    }

    /**
     * 设置 商品规格id
     */
    public void setGoodSpecsId(String goodSpecsId) {
        this.goodSpecsId = goodSpecsId;
    }

    /**
     * 获取 配送类型(1:自提,2:送货上门)
     */
    public Integer getTypeDelivery() {
        return typeDelivery;
    }

    /**
     * 设置 配送类型(1:自提,2:送货上门)
     */
    public void setTypeDelivery(Integer typeDelivery) {
        this.typeDelivery = typeDelivery;
    }

    /**
     * 获取 收货电话
     */
    public String getMobile() {
        return mobile;
    }

    /**
     * 设置 收货电话
     */
    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    /**
     * 获取 省
     */
    public String getProvince() {
        return province;
    }

    /**
     * 设置 省
     */
    public void setProvince(String province) {
        this.province = province;
    }

    /**
     * 获取 市
     */
    public String getCity() {
        return city;
    }

    /**
     * 设置 市
     */
    public void setCity(String city) {
        this.city = city;
    }

    /**
     * 获取 区
     */
    public String getArea() {
        return area;
    }

    /**
     * 设置 区
     */
    public void setArea(String area) {
        this.area = area;
    }

    /**
     * 获取 详细地址
     */
    public String getAddress() {
        return address;
    }

    /**
     * 设置 详细地址
     */
    public void setAddress(String address) {
        this.address = address;
    }

    /**
     * 获取 租赁时快递名称
     */
    public String getExpressRentName() {
        return expressRentName;
    }

    /**
     * 设置 租赁时快递名称
     */
    public void setExpressRentName(String expressRentName) {
        this.expressRentName = expressRentName;
    }

    /**
     * 获取 租赁时快递ID
     */
    public Integer getExpressRentId() {
        return expressRentId;
    }

    /**
     * 设置 租赁时快递ID
     */
    public void setExpressRentId(Integer expressRentId) {
        this.expressRentId = expressRentId;
    }

    /**
     * 获取 租赁时快递公司编码
     */
    public String getExpressRentShipperCode() {
        return expressRentShipperCode;
    }

    /**
     * 设置 租赁时快递公司编码
     */
    public void setExpressRentShipperCode(String expressRentShipperCode) {
        this.expressRentShipperCode = expressRentShipperCode;
    }

    /**
     * 获取 租赁时快递单号
     */
    public String getExpressRentCode() {
        return expressRentCode;
    }

    /**
     * 设置 租赁时快递单号
     */
    public void setExpressRentCode(String expressRentCode) {
        this.expressRentCode = expressRentCode;
    }

    /**
     * 获取 归还时快递名称
     */
    public String getExpressBackName() {
        return expressBackName;
    }

    /**
     * 设置 归还时快递名称
     */
    public void setExpressBackName(String expressBackName) {
        this.expressBackName = expressBackName;
    }

    /**
     * 获取 归还时快递ID
     */
    public Integer getExpressBackId() {
        return expressBackId;
    }

    /**
     * 设置 归还时快递ID
     */
    public void setExpressBackId(Integer expressBackId) {
        this.expressBackId = expressBackId;
    }

    /**
     * 获取 归还时快递公司编码
     */
    public String getExpressBackShipperCode() {
        return expressBackShipperCode;
    }

    /**
     * 设置 归还时快递公司编码
     */
    public void setExpressBackShipperCode(String expressBackShipperCode) {
        this.expressBackShipperCode = expressBackShipperCode;
    }

    /**
     * 获取 归还时快递单号
     */
    public String getExpressBackCode() {
        return expressBackCode;
    }

    /**
     * 设置 归还时快递单号
     */
    public void setExpressBackCode(String expressBackCode) {
        this.expressBackCode = expressBackCode;
    }

    /**
     * 获取 订单类型 1购买 2新签 3续租 4过期
     */
    public Integer getOrderType() {
        return orderType;
    }

    /**
     * 设置 订单类型 1购买 2新签 3续租 4过期
     */
    public void setOrderType(Integer orderType) {
        this.orderType = orderType;
    }

    /**
     * 获取 订单类型 1购买 2租赁
     */
    public Integer getOrderTypeBuy() {
        return orderTypeBuy;
    }

    /**
     * 设置 订单类型 1购买 2租赁
     */
    public void setOrderTypeBuy(Integer orderTypeBuy) {
        this.orderTypeBuy = orderTypeBuy;
    }

    /**
     * 获取 是否购物车支付(1:是,2:否)
     */
    public Integer getIsShop() {
        return isShop;
    }

    /**
     * 设置 是否购物车支付(1:是,2:否)
     */
    public void setIsShop(Integer isShop) {
        this.isShop = isShop;
    }

    /**
     * 获取 支付方式 1微信支付 2支付宝支付
     */
    public Integer getPayType() {
        return payType;
    }

    /**
     * 设置 支付方式 1微信支付 2支付宝支付
     */
    public void setPayType(Integer payType) {
        this.payType = payType;
    }

    /**
     * 获取 订单状态 1待付款 2已付款待签合同 3待发货 4待收货 5待归还 6归还中 7待评价 8已完成 9退款中 10已关闭(已发货) 11申请取消订单
     */
    public Integer getStatus() {
        return status;
    }

    /**
     * 设置 订单状态 1待付款 2已付款待签合同 3待发货 4待收货 5待归还 6归还中 7待评价 8已完成 9退款中 10已关闭(已发货) 11申请取消订单
     */
    public void setStatus(Integer status) {
        this.status = status;
    }

    /**
     * 获取 订单关闭类型(1:取消订单(未发货),2:退货退款(用户发起,退优惠券),3:仅退款(商家发起,不退优惠券))
     */
    public Integer getCloseType() {
        return closeType;
    }

    /**
     * 设置 订单关闭类型(1:取消订单(未发货),2:退货退款(用户发起,退优惠券),3:仅退款(商家发起,不退优惠券))
     */
    public void setCloseType(Integer closeType) {
        this.closeType = closeType;
    }

    /**
     * 获取 是否已付款(1:已付款,2:未付款)
     */
    public Integer getIsPay() {
        return isPay;
    }

    /**
     * 设置 是否已付款(1:已付款,2:未付款)
     */
    public void setIsPay(Integer isPay) {
        this.isPay = isPay;
    }

    /**
     * 获取 是否已退款(1:已退款,2:未退款,3:退款中)
     */
    public Integer getIsRefunds() {
        return isRefunds;
    }

    /**
     * 设置 是否已退款(1:已退款,2:未退款,3:退款中)
     */
    public void setIsRefunds(Integer isRefunds) {
        this.isRefunds = isRefunds;
    }

    /**
     * 获取 支付信息
     */
    public String getPayMsg() {
        return payMsg;
    }

    /**
     * 设置 支付信息
     */
    public void setPayMsg(String payMsg) {
        this.payMsg = payMsg;
    }

    /**
     * 获取 退款信息
     */
    public String getRefundsMsg() {
        return refundsMsg;
    }

    /**
     * 设置 退款信息
     */
    public void setRefundsMsg(String refundsMsg) {
        this.refundsMsg = refundsMsg;
    }

    /**
     * 获取 订单保证金
     */
    public BigDecimal getOrderDeposit() {
        return orderDeposit;
    }

    /**
     * 设置 订单保证金
     */
    public void setOrderDeposit(BigDecimal orderDeposit) {
        this.orderDeposit = orderDeposit;
    }

    /**
     * 获取 逾期扣除
     */
    public BigDecimal getOverdueDeduct() {
        return overdueDeduct;
    }

    /**
     * 设置 逾期扣除
     */
    public void setOverdueDeduct(BigDecimal overdueDeduct) {
        this.overdueDeduct = overdueDeduct;
    }

    /**
     * 获取 逾期管理备注
     */
    public String getOverdueMark() {
        return overdueMark;
    }

    /**
     * 设置 逾期管理备注
     */
    public void setOverdueMark(String overdueMark) {
        this.overdueMark = overdueMark;
    }

    /**
     * 获取 订单备注
     */
    public String getMark() {
        return mark;
    }

    /**
     * 设置 订单备注
     */
    public void setMark(String mark) {
        this.mark = mark;
    }

    /**
     * 获取 电子合同链接
     */
    public String getContractUrl() {
        return contractUrl;
    }

    /**
     * 设置 电子合同链接
     */
    public void setContractUrl(String contractUrl) {
        this.contractUrl = contractUrl;
    }

    /**
     * 获取 电子合同的flowid
     */
    public String getContractFlowId() {
        return contractFlowId;
    }

    /**
     * 设置 电子合同的flowid
     */
    public void setContractFlowId(String contractFlowId) {
        this.contractFlowId = contractFlowId;
    }

    /**
     * 获取 最早逾期时间
     */
    public Date getOverdueDate() {
        return overdueDate;
    }

    /**
     * 设置 最早逾期时间
     */
    public void setOverdueDate(Date overdueDate) {
        this.overdueDate = overdueDate;
    }

    /**
     * 获取 租赁天数
     */
    public Integer getRentDays() {
        return rentDays;
    }

    /**
     * 设置 租赁天数
     */
    public void setRentDays(Integer rentDays) {
        this.rentDays = rentDays;
    }

    /**
     * 获取 租赁开始时间
     */
    public Date getStartTime() {
        return startTime;
    }

    /**
     * 设置 租赁开始时间
     */
    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    /**
     * 获取 租赁结束时间
     */
    public Date getEndTime() {
        return endTime;
    }

    /**
     * 设置 租赁结束时间
     */
    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    /**
     * 获取 付款时间
     */
    public Date getPayTime() {
        return payTime;
    }

    /**
     * 设置 付款时间
     */
    public void setPayTime(Date payTime) {
        this.payTime = payTime;
    }

    /**
     * 获取 发货时间
     */
    public Date getSendTime() {
        return sendTime;
    }

    /**
     * 设置 发货时间
     */
    public void setSendTime(Date sendTime) {
        this.sendTime = sendTime;
    }

    /**
     * 获取 成交时间
     */
    public Date getSuccessTime() {
        return successTime;
    }

    /**
     * 设置 成交时间
     */
    public void setSuccessTime(Date successTime) {
        this.successTime = successTime;
    }

    /**
     * 获取 订单结束时间
     */
    public Date getOrderEndTime() {
        return orderEndTime;
    }

    /**
     * 设置 订单结束时间
     */
    public void setOrderEndTime(Date orderEndTime) {
        this.orderEndTime = orderEndTime;
    }

    /**
     * 获取 创建时间
     */
    public Date getCreatedAt() {
        return createdAt;
    }

    /**
     * 设置 创建时间
     */
    public void setCreatedAt(Date createdAt) {
        this.createdAt = createdAt;
    }

    /**
     * 获取 更新时间
     */
    public Date getUpdatedAt() {
        return updatedAt;
    }

    /**
     * 设置 更新时间
     */
    public void setUpdatedAt(Date updatedAt) {
        this.updatedAt = updatedAt;
    }

    /**
     * 获取租赁时顺丰快递传(寄件人/收件人手机号后四位),京东快递传商家编码(由发货方提供,且快递单号必须是通过该商家编码下单获取的)(为其他快递时,可不填或保留字段,不可传值)
     * 
     * @return
     */
    public String getExpressRentCustomerName() {
        return expressRentCustomerName;
    }

    /**
     * 设置租赁时顺丰快递传(寄件人/收件人手机号后四位),京东快递传商家编码(由发货方提供,且快递单号必须是通过该商家编码下单获取的)(为其他快递时,可不填或保留字段,不可传值)
     * 
     * @param expressRentCustomerName
     */
    public void setExpressRentCustomerName(String expressRentCustomerName) {
        this.expressRentCustomerName = expressRentCustomerName;
    }

    /**
     * 获取归还时顺丰快递传(寄件人/收件人手机号后四位),京东快递传商家编码(由发货方提供,且快递单号必须是通过该商家编码下单获取的)(为其他快递时,可不填或保留字段,不可传值)
     * 
     * @return
     */
    public String getExpressBackCustomerName() {
        return expressBackCustomerName;
    }

    /**
     * 设置归还时顺丰快递传(寄件人/收件人手机号后四位),京东快递传商家编码(由发货方提供,且快递单号必须是通过该商家编码下单获取的)(为其他快递时,可不填或保留字段,不可传值)
     * 
     * @param expressBackCustomerName
     */
    public void setExpressBackCustomerName(String expressBackCustomerName) {
        this.expressBackCustomerName = expressBackCustomerName;
    }

    /**
     * 获取 订单表集合
     */
    public List<String> getIds() {
        return ids;
    }

    /**
     * 设置 订单表集合
     */
    public void setIds(List<String> ids) {
        this.ids = ids;
    }

    /**
     * 获取 订单商品信息
     */
    public OrderGoods getOrderGoods() {
        return orderGoods;
    }

    /**
     * 设置 订单商品信息
     */
    public void setOrderGoods(OrderGoods orderGoods) {
        this.orderGoods = orderGoods;
    }

    /**
     * 获取 订单商品信息
     */
    public List<OrderGoods> getOrderGoodss() {
        return orderGoodss;
    }

    /**
     * 设置 订单商品信息
     */
    public void setOrderGoodss(List<OrderGoods> orderGoodss) {
        this.orderGoodss = orderGoodss;
    }

    /**
     * 获取 订单编号集合
     */
    public List<String> getNos() {
        return nos;
    }

    /**
     * 设置 订单编号集合
     */
    public void setNos(List<String> nos) {
        this.nos = nos;
    }

    /**
     * 获取 订单表集合
     */
    public List<Order> getOrders() {
        return orders;
    }

    /**
     * 设置 订单表集合
     */
    public void setOrders(List<Order> orders) {
        this.orders = orders;
    }

    @Override
    public Integer getBaseOrderType() {
        return getOrderType();
    }

    @Override
    public Integer getBasePayType() {
        return getPayType();
    }

    @Override
    public String getBaseOrderNo() {
        return getNo();
    }

    @Override
    public String getBaseOrderNoShop() {
        return getNoShop();
    }

    @Override
    public BigDecimal getBaseOrderTotal() {
        return getOrderTotal();
    }

    @Override
    public BigDecimal getBasePayTotal() {
        return getOrderTotal();
    }

    @Override
    public String getBaseRefundNo() {
        return getRefundSn();
    }

    @Override
    public BigDecimal getBaseRefundTotal() {
        return getRefundTotal();
    }

    /**
     * 以上由工具自动生成，以下为手动添加
     */

    /**
     * 插入初始化
     */
    public void insertInit() {
        setStatus(EOrderStatus.PAYMENT_NO.getCode());
        setIsPay(EPayStatus.NO.getCode());
        setIsRefunds(ERefundsStatus.NO.getCode());
        Date now = DateUtil.nowDate();
        setCreatedAt(now);
        setUpdatedAt(now);
    }

    /**
     * 更新初始化
     */
    public void updateInit() {
        Date now = DateUtil.nowDate();
        setUpdatedAt(now);
    }

    /**
     * 退款初始化
     * 
     * @param orderNo       订单号
     * @param orderTotal    订单金额
     * @param refundNo      退款单号
     * @param refundTotal   退款金额
     * @param payType       支付类型
     */
    @Override
    public void refundInit(String orderNo, BigDecimal orderTotal, String refundNo, BigDecimal refundTotal,
        Integer payType) {
        setNo(orderNo);
        setOrderTotal(orderTotal);
        setRefundSn(refundNo);
        setRefundTotal(refundTotal);
        setPayType(payType);
    }

}